package com.sc.nft.entity.dto;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sc.nft.enums.MallOrderRefundTypeEnum;
import com.sc.nft.enums.MallRefundStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author liGen
 * @version 1.0
 * @date 2023/11/21 4:06 下午
 */
@Data
public class AdminPageRefundOrderDTO {

    /**
     * id
     */
    @ApiModelProperty("id")
    protected Long id;

    /**
     * 订单ID
     */
    @ApiModelProperty("订单ID")
    private Long orderId;

    /**
     * 订单编号
     */
    @ApiModelProperty("订单编号")
    private String orderNo;

    /**
     * 售后编号
     */
    @ApiModelProperty("售后编号")
    private String refundNo;

    /**
     * 售后类型
     */
    @ApiModelProperty("售后类型")
    private MallOrderRefundTypeEnum refundType;

    /**
     * 订单商品ID
     */
    @ApiModelProperty("订单商品ID")
    private Long orderGoodsId;

    /**
     * 缩略图
     */
    @ApiModelProperty("缩略图")
    private String thumbnail;

    /**
     * 商品名称
     */
    @ApiModelProperty("商品名称")
    private String productName;

    /**
     * 商品规格名称
     */
    @ApiModelProperty("商品规格名称")
    private String productSpecsName;

    /**
     * 订单支付时间
     */
    @ApiModelProperty("订单支付时间")
    private Date orderPayTime;

    /**
     * 售后数量
     */
    @ApiModelProperty("售后数量")
    private Integer refundNum;

    /**
     * 售后退款金额
     */
    @ApiModelProperty("售后退款金额")
    private BigDecimal refundAmount;

    /**
     * 订单金额
     */
    @ApiModelProperty("订单金额")
    private BigDecimal orderAmount;

    /**
     * 订单实际支付金额
     */
    @ApiModelProperty("订单实际支付金额")
    private BigDecimal orderPayAmount;

    /**
     * 申请原因
     */
    @ApiModelProperty("申请原因")
    private String reason;

    /**
     * 申请描述
     */
    @ApiModelProperty("申请描述")
    private String description;

    /**
     * 售后状态
     */
    @ApiModelProperty("售后状态")
    private MallRefundStatusEnum refundStatus;

    /**
     * 处理时间
     */
    @ApiModelProperty("处理时间")
    private Date handleTime;

    /**
     * 凭证图片，以逗号隔开
     */
    @ApiModelProperty("凭证图片，以逗号隔开")
    private String proofPics;

    /**
     * 联系号码
     */
    @ApiModelProperty("联系号码")
    private String contactNumber;

    /**
     * 购买账号
     */
    @ApiModelProperty(value = "购买账号")
    private String userTel;

    /**
     * 售后快递单号
     */
    @ApiModelProperty("售后快递单号")
    private String deliveryNo;

    /**
     * 售后快递名称
     */
    @ApiModelProperty("售后快递名称")
    private String deliveryName;

    /**
     * 用户快递单号
     */
    @ApiModelProperty("用户快递单号")
    private String userDeliveryNo;

    /**
     * 用户快递名称
     */
    @ApiModelProperty("用户快递名称")
    private String userDeliveryName;

    /**
     * 供应商名字
     */
    @ApiModelProperty(value = "供应商名字")
    private String supplierName;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    protected Date createTime;
}
